<?php
defined('SYSPATH') OR die('No Direct Script Access');
session_name('curriculo');
@session_start();

include "application/classes/validator/ValidadorDeFormularioDeEscolaridade.php";
include "application/classes/model/Escolaridade.php";
include "application/classes/visualizacao/FormularioDeEscolaridade.php";

Class Controller_GerenciadorDeEscolaridade extends Controller_TemplatePadrao
{

	public $errors = array();
	public $camposDoFormulario;
	public $sheets = array('reset' => 'screen', 'main' => 'screen');
	public $formularioDeEscolaridade;

	function action_index(){
		$_SESSION['pagina_corrente'] = "escolaridade";
		if(isset($_SESSION['escolaridade'])){
			$formacoesEscolares = unserialize($_SESSION['escolaridade']);
			$this->formularioDeEscolaridade = new FormularioDeEscolaridade($formacoesEscolares);
		}
		else{
			$this->formularioDeEscolaridade = new FormularioDeEscolaridade();
		}
		$this->carregarFormulario();
	}

	public function carregarFormulario(){
		$ko3_inner               = array();
		$ko3                     = array();
		$this->template->title   = 'Psicopuc WWW Ver. 3.0';
		View::set_global('x', 'Esta e uma variavel global');
		$ko3_inner['content']    = 'Dados(Exemplo)';
		$ko3['content']          = 'Dados2(Exemplo)';
		$this->template->header  = View::factory('blocks/pagina_header', $ko3_inner)
								  ->render();
		$this->template->menu    = View::factory('blocks/menu_formulario')
	    						  ->render();
	    $this->template->footer  = View::factory('blocks/pagina_footer')
	                              ->render();						  
		$this->template->content = View::factory('Formularios/FormularioDeEscolaridade', $ko3)
		->bind('errors', $this->errors)
		->bind('camposDoFormulario', $this->camposDoFormulario)
		->bind('formularioDeEscolaridade', $this->formularioDeEscolaridade);
	}


	public function action_validarForm(){

		$validator = new ValidadorDeFormularioDeEscolaridade();
		$validator->verificarCamposValidos();
		$this->formularioDeEscolaridade = new FormularioDeEscolaridade();

		$acao = $_POST['form_button'];

		if($acao == "Proximo"){
			if(!$validator->isFormularioValido()){
				$this->errors = $validator->getErros();
				$this->camposDoFormulario = $validator->getCamposDoFormulario();
				$this->formularioDeEscolaridade->recarregarDadosDoFormulario();
				$this->carregarFormulario();
			}
			else{
					
				$arrayEscolaridades = array();
				// verificando checkbox do ensino fundamental
				if(isset($_POST['escolaridadeEnsinoFundamental'])){
					$idEscolaridadeEnsinoFundamental = $_POST['IdEscolaridadeEnsinoFundamental'];
					$tipoDeEscolaridade = $_POST['escolaridadeEnsinoFundamental'];
					$grauDaEscolaridade = $_POST['grauDeEnsinoFundamental'];
					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade);
					$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoFundamental);
					if($grauDaEscolaridade == "Completo"){
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoFundamental'];
						$escolaridade->setAnoDeConclusao($anoDeConclusao);
					}
					$arrayEscolaridades[] = serialize($escolaridade);
				}

				// verificando checkbox do ensino medio
				if(isset($_POST['escolaridadeEnsinoMedio'])){
					$idEscolaridadeEnsinoMedio = $_POST['IdEscolaridadeEnsinoMedio'];
					$tipoDeEscolaridade = $_POST['escolaridadeEnsinoMedio'];
					$tipoDeEnsinoMedio = $_POST['tipoDeEnsinoMedio'];
						
					//Definindo o grau de conclusão de escolaridade do ensino médio, dos casos Normal ou Profissionalizante
					$grauDaEscolaridade = "";
					if(isset($_POST['grauDeEnsinoMedioNormal'])){
						$grauDaEscolaridade = $_POST['grauDeEnsinoMedioNormal'];
					}
					else{
						$grauDaEscolaridade = $_POST['grauDeEnsinoMedioProfissionalizante'];
					}
						
					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade);
					$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoMedio);	
					//Definindo o ano de conclusão do Ensino Médio, se Normal ou Profissionalizante
					$anoDeConclusao = "";
					if(($grauDaEscolaridade != "") && ($grauDaEscolaridade == "Completo")){
						if(isset($_POST['anoDeConclusaoEnsinoMedioNormal']) && $tipoDeEnsinoMedio == "Normal"){
							$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioNormal'];
						}
						else{
							$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioProfissionalizante'];
						}
					}
						
					//Definindo atributos adicionais não obrigatórios
					$escolaridade->setTipoDeEnsinoMedio($tipoDeEnsinoMedio);
					$escolaridade->setAnoDeConclusao($anoDeConclusao);

					$arrayEscolaridades[] = serialize($escolaridade);
				}

				// verificando checkbox do ensino superior
				if(isset($_POST['escolaridadeEnsinoSuperior'])){
					$idEscolaridadeEnsinoSuperior = $_POST['IdEscolaridadeEnsinoSuperior'];
					$tipoDeEscolaridade = $_POST['escolaridadeEnsinoSuperior'];
					$grauDaEscolaridade = $_POST['grauDeEnsinoSuperior'];
					$instituicao = $_POST['instituicaoEnsinoSuperior'];
					$curso = $_POST['cursoDeEnsinoSuperior'];
						
					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
					$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoSuperior);		
					if($grauDaEscolaridade == "Completo"){
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoSuperior'];
						$escolaridade->setAnoDeConclusao($anoDeConclusao);
					}
					$arrayEscolaridades[] = serialize($escolaridade);
				}

				// verificando checkbox do pos graduação
				if(isset($_POST['escolaridadePosGraduacao'])){
					// verificando especialização
					if(isset($_POST['nivelDePosGraduacaoEspecializacao'])){
						$idPosGraduacaoEspecializacao = $_POST['IdPosGraduacaoEspecializacao'];
						$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
						$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoEspecializacao'];						
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoEspecializacao'];
						$instituicao = $_POST['instituicaoDeEspecializacao'];
						$curso = $_POST['cursoDeEspecializacao'];

						$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
						$escolaridade->setIdEscolaridade($idPosGraduacaoEspecializacao);	
						$anoDeConclusao = "";
						if($grauDaEscolaridade == "Completo"){
							$anoDeConclusao = $_POST['anoDeConclusaoEspecializacao'];							
						}
						
						//Definindo atributos adicionais não obrigatórios
						$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
						$escolaridade->setAnoDeConclusao($anoDeConclusao);
						
						//alocando a Pós-Graduação Especializacao na lista de escolaridades 						
						$arrayEscolaridades[] = serialize($escolaridade);
					}

					// verificando mestrado
					if(isset($_POST['nivelDePosGraduacaoMestrado'])){
						$idPosGraduacaoMestrado = $_POST['IdPosGraduacaoMestrado'];
						$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
						$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoMestrado'];
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoMestrado'];
						$instituicao = $_POST['instituicaoDeMestrado'];
						$curso = $_POST['cursoDeMestrado'];

						$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
						$escolaridade->setIdEscolaridade($idPosGraduacaoMestrado);
						$anoDeConclusao = "";
						if($grauDaEscolaridade == "Completo"){
							$anoDeConclusao = $_POST['anoDeConclusaoMestrado'];
						}
						
						//Definindo atributos adicionais não obrigatórios
						$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
						$escolaridade->setAnoDeConclusao($anoDeConclusao);
						
						//alocando a Pós-Graduação Mestrado na lista de escolaridades 
						$arrayEscolaridades[] = serialize($escolaridade);
					}

					// verificando doutorado
					if(isset($_POST['nivelDePosGraduacaoDoutorado'])){
						$idPosGraduacaoDoutorado = $_POST['IdPosGraduacaoDoutorado'];
						$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
						$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoDoutorado'];
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoDoutorado'];
						$instituicao = $_POST['instituicaoDeDoutorado'];
						$curso = $_POST['cursoDeDoutorado'];

						$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
						$escolaridade->setIdEscolaridade($idPosGraduacaoDoutorado);
						$anoDeConclusao = "";
						if($grauDaEscolaridade == "Completo"){
							$anoDeConclusao = $_POST['anoDeConclusaoDoutorado'];
						}
						
						//Definindo atributos adicionais não obrigatórios
						$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
						$escolaridade->setAnoDeConclusao($anoDeConclusao);
						
						//alocando a Pós-Graduação Doutorado na lista de escolaridades 
						$arrayEscolaridades[] = serialize($escolaridade);
					}
				}
				$_SESSION['escolaridade'] = serialize($arrayEscolaridades);
				
				//Elemento de visualização que junto ao $_SESSION['pagina_corrente'] define se a página
				//já foi validade e assim aparecerá no menu topo para seleção 				
				$_SESSION['escolaridade_validado'] = true;
				echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeIdioma>";
			}
		}
		else if($acao == "Voltar"){
				
			$arrayEscolaridades = array();
			// verificando checkbox do ensino fundamental
			$grauDaEscolaridade = "";
			if(isset($_POST['escolaridadeEnsinoFundamental'])){
				$idEscolaridadeEnsinoFundamental = $_POST['IdEscolaridadeEnsinoFundamental'];
				$tipoDeEscolaridade = $_POST['escolaridadeEnsinoFundamental'];
				if(isset($_POST['grauDeEnsinoFundamental'])){
					$grauDaEscolaridade = $_POST['grauDeEnsinoFundamental'];
				}
				$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade);
				$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoFundamental);
				if($grauDaEscolaridade == "Completo"){
					
				}
				$anoDeConclusao = $_POST['anoDeConclusaoEnsinoFundamental'];
				$escolaridade->setAnoDeConclusao($anoDeConclusao);
				
				$arrayEscolaridades[] = serialize($escolaridade);
			}

			// verificando checkbox do ensino medio
			$tipoDeEnsinoMedio = "";
			if(isset($_POST['escolaridadeEnsinoMedio'])){
				$idEscolaridadeEnsinoMedio = $_POST['IdEscolaridadeEnsinoMedio'];
				$tipoDeEscolaridade = $_POST['escolaridadeEnsinoMedio'];
				if(isset($_POST['tipoDeEnsinoMedio'])){
					$tipoDeEnsinoMedio = $_POST['tipoDeEnsinoMedio'];
				}
				
					
				//Definindo o grau de conclusão de escolaridade do ensino médio, dos casos Normal ou Profissionalizante
				$grauDaEscolaridade = "";
				if(isset($_POST['grauDeEnsinoMedioNormal'])){
					$grauDaEscolaridade = $_POST['grauDeEnsinoMedioNormal'];
				}
				else if(isset($_POST['grauDeEnsinoMedioProfissionalizante'])){
					$grauDaEscolaridade = $_POST['grauDeEnsinoMedioProfissionalizante'];
				}
					
				$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade);
				$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoMedio);		
				

				//Definindo o ano de conclusão do Ensino Médio, se Normal ou Profissionalizante
				
				/*if($grauDaEscolaridade != "" && $grauDaEscolaridade == "Completo"){
					if(isset($_POST['anoDeConclusaoEnsinoMedioNormal'])){
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioNormal'];
					}
					else{
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioProfissionalizante'];
					}
				}*/
				$anoDeConclusao = "";
				if(($grauDaEscolaridade != "") && ($grauDaEscolaridade == "Completo")){
					if(isset($_POST['anoDeConclusaoEnsinoMedioNormal']) && $tipoDeEnsinoMedio == "Normal"){
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioNormal'];
					}
					else{
						$anoDeConclusao = $_POST['anoDeConclusaoEnsinoMedioProfissionalizante'];
					}
				}
					
				//Definindo atributos adicionais não obrigatórios
				$escolaridade->setTipoDeEnsinoMedio($tipoDeEnsinoMedio);
				$escolaridade->setAnoDeConclusao($anoDeConclusao);

				$arrayEscolaridades[] = serialize($escolaridade);
			}

			// verificando checkbox do ensino superior
			$grauDaEscolaridade = "";
			if(isset($_POST['escolaridadeEnsinoSuperior'])){
				$idEscolaridadeEnsinoSuperior = $_POST['IdEscolaridadeEnsinoSuperior'];
				$tipoDeEscolaridade = $_POST['escolaridadeEnsinoSuperior'];
				if(isset($_POST['grauDeEnsinoSuperior'])){
					$grauDaEscolaridade = $_POST['grauDeEnsinoSuperior'];
				}	
				$instituicao = $_POST['instituicaoEnsinoSuperior'];
				$curso = $_POST['cursoDeEnsinoSuperior'];
					
				$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
				$escolaridade->setIdEscolaridade($idEscolaridadeEnsinoSuperior);		
/*				if($grauDaEscolaridade == "Completo"){
					$anoDeConclusao = $_POST['anoDeConclusaoEnsinoSuperior'];
					$escolaridade->setAnoDeConclusao($anoDeConclusao);
				}*/
				
				$anoDeConclusao = $_POST['anoDeConclusaoEnsinoSuperior'];
				$escolaridade->setAnoDeConclusao($anoDeConclusao);
				$arrayEscolaridades[] = serialize($escolaridade);
			}

			// verificando checkbox do pos graduação
			$grauDaEscolaridade = "";
			if(isset($_POST['escolaridadePosGraduacao'])){
				// verificando especialização
				if(isset($_POST['nivelDePosGraduacaoEspecializacao'])){
					$idPosGraduacaoEspecializacao = $_POST['IdPosGraduacaoEspecializacao'];
					$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
					$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoEspecializacao'];
					if(isset($_POST['grauDePosGraduacaoEspecializacao'])){
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoEspecializacao'];
					}
					$instituicao = $_POST['instituicaoDeEspecializacao'];
					$curso = $_POST['cursoDeEspecializacao'];

					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
					$escolaridade->setIdEscolaridade($idPosGraduacaoEspecializacao);	
					$anoDeConclusao = "";
/*					if($grauDaEscolaridade == "Completo"){
						$anoDeConclusao = $_POST['anoDeConclusaoEspecializacao'];						
					}*/
					
					$anoDeConclusao = $_POST['anoDeConclusaoEspecializacao'];
					
					//Definindo atributos adicionais não obrigatórios
					$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
					$escolaridade->setAnoDeConclusao($anoDeConclusao);
					
					//alocando a Pós-Graduação Especialização na lista de escolaridades 					
					$arrayEscolaridades[] = serialize($escolaridade);
				}

				// verificando mestrado
				$grauDaEscolaridade = "";
				if(isset($_POST['nivelDePosGraduacaoMestrado'])){
					$idPosGraduacaoMestrado = $_POST['IdPosGraduacaoMestrado'];
					$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
					$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoMestrado'];
					if(isset($_POST['grauDePosGraduacaoMestrado'])){
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoMestrado'];
					}
					$instituicao = $_POST['instituicaoDeMestrado'];
					$curso = $_POST['cursoDeMestrado'];

					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
					$escolaridade->setIdEscolaridade($idPosGraduacaoMestrado);
/*					$anoDeConclusao = "";
					if($grauDaEscolaridade == "Completo"){
						$anoDeConclusao = $_POST['anoDeConclusaoMestrado'];						
					}*/
					
					$anoDeConclusao = $_POST['anoDeConclusaoMestrado'];
					
					//Definindo atributos adicionais não obrigatórios
					$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
					$escolaridade->setAnoDeConclusao($anoDeConclusao);
					
					//alocando a Pós-Graduação Mestrado na lista de escolaridades 
					$arrayEscolaridades[] = serialize($escolaridade);
				}

				// verificando doutorado
				$grauDaEscolaridade = "";
				if(isset($_POST['nivelDePosGraduacaoDoutorado'])){
					$idPosGraduacaoDoutorado = $_POST['IdPosGraduacaoDoutorado'];
					$tipoDeEscolaridade = $_POST['escolaridadePosGraduacao'];
					$tipoDeEnsinoPosGraduacao = $_POST['nivelDePosGraduacaoDoutorado'];
					if(isset($_POST['grauDePosGraduacaoDoutorado'])){
						$grauDaEscolaridade = $_POST['grauDePosGraduacaoDoutorado'];
					}
					$instituicao = $_POST['instituicaoDeDoutorado'];
					$curso = $_POST['cursoDeDoutorado'];

					$escolaridade = new Escolaridade($tipoDeEscolaridade, $grauDaEscolaridade, $instituicao, $curso);
					$escolaridade->setIdEscolaridade($idPosGraduacaoDoutorado);
/*					$anoDeConclusao = "";
					if($grauDaEscolaridade == "Completo"){
						$anoDeConclusao = $_POST['anoDeConclusaoDoutorado'];
					}*/
					
					$anoDeConclusao = $_POST['anoDeConclusaoDoutorado'];
					
					//Definindo atributos adicionais não obrigatórios
					$escolaridade->setTipoDeEnsinoPosGraduacao($tipoDeEnsinoPosGraduacao);
					$escolaridade->setAnoDeConclusao($anoDeConclusao);
					
					//alocando a Pós-Graduação Mestrado na lista de escolaridades 
					$arrayEscolaridades[] = serialize($escolaridade);
				}
			}
			$_SESSION['escolaridade'] = serialize($arrayEscolaridades);
			echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeDeficiencia>";
		}
	}
}

?>